如何在TypeScript中使用类键入数组? 您所在的位置:网站首页 typescript 数组类型 如何在TypeScript中使用类键入数组?

如何在TypeScript中使用类键入数组?

#如何在TypeScript中使用类键入数组?| 来源: 网络整理| 查看: 265

我有一个通过运行如下方法进行初始化的应用程序.init(params):

app.init([TopBar, StatusBar, MainArea]);

其中TopBar,StatusBar和MainArea是类,而不是类的实例。这些类中的每一个都实现相同的接口IComponent。

我想从.init(params)方法中传递的类实例化对象,如下所示:

init(params: IComponent[]): void { params.map(function (component) { let comp = new component(); this.components[comp.constructor.name] = comp; }, this);

问题在于,由于这些不是实例,因此TypeScript不知道其类型并引发错误:

错误TS2345:类型'((typeof TopBar | typeof StatusBar | typeof MainArea)[]'的参数不能分配给'IComponent []'类型的参数。

如何修复代码,以便可以将实现某些接口的类的数组传递给方法?



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有